package com.leetcode;

import org.junit.Test;

/**
 * Created by Z-hong on 2022/10/13.
 */

public class LeetCode769 {
    public int maxChunksToSorted(int[] arr) {
        //当遍历到第i个位置时，如果可以切分为块，那前i个位置的最大值一定等于i。
        //否则，一定有比i小的数划分到后面的块，那块排序后，一定不满足升序。
        int res = 0, max = 0;
        for (int i = 0; i < arr.length; i++){
            max = Math.max(max, arr[i]);//统计前i个位置的最大元素
            if (max == i) res++;
        }
        return res;
    }
    @Test
    public void test(){
        int[]arr = {4,3,2,1,0};
        int[]arr1= {0,1};
        int[]arr2= {0,2,1};
        System.out.println(maxChunksToSorted(arr2));
    }
}
